Nacos
安装完成后地址:http://127.0.0.1:8848/nacos/index.html
使用Mysql数据源(建议不使用)
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root123
注意事项
- Nacos0.7版本加入了支持mysql数据源功能,nacos集群的配置可以持久化到mysql。在使用mysql8.0.19的时候用nacos连接出现异常。
解决办法:在nacos安装目录下新建plugins/mysql文件夹,并放入8.0+版本的mysql-connector-java-8.0.xx.jar,重启nacos即可。
启动时会提示更换了mysql的driver-class类。
使用总结
SpringCloud的@RefreshScope
注解,可以实现配置的实时同步。
而:spring cloud config 中,比较麻烦,需要通过BUS
Linux中
- 上传后解压。
- 单机模式运行:
[root@acyou bin]# ./startup.sh -m standalone
- 访问:
http://81.68.103.201:8848/nacos/index.html#/login
集群部署
修改application.properties中的端口
修改cluster.conf集群配置文件
运行集群(在集群模式下,使用内置数据源)。
.\startup.cmd -p embedded
运行集群(在集群模式下,使用外置数据源)。
.\startup.cmd
切换运行模式(Stand-alone mode 是单机模式,启动时指定参数):
.\startup.cmd -m standalone
集群部署的时候,需要使用Nginx做负载均衡与容灾。
nginx.conf:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#NACOS NGINX配置
upstream nacosserver{
server 192.168.1.95:8848;
server 192.168.1.95:8849;
server 192.168.1.95:8850;
}
server{
listen 8855;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /nacos/ {
proxy_pass http://nacosserver/nacos/;
}
}
配置中心
- 配置管理->配置列表->添加
demo1101.properties
SpringBoot
- 配置Nacos的验证,vi nacos/conf/application.properties
1
2
3### If turn on auth system:
nacos.core.auth.enabled=true - 需要配置到bootstrap.properties文件中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31spring.application.name=service-demo11011
# Nacos
## 启用NACOS
spring.cloud.nacos.discovery.enabled=true
## 设置服务所处的分组
spring.cloud.nacos.discovery.group=DEMO_GROUP
## 给当前的服务命名,默认:${spring.application.name}
spring.cloud.nacos.discovery.service=${spring.application.name}
## Nacos Server 启动监听的ip地址和端口
spring.cloud.nacos.discovery.server-addr=81.68.103.201:8848
## 服务的权重。- 取值范围 1 到 100,数值越大,权重越大
spring.cloud.nacos.discovery.weight=1
## 命名空间。- 常用场景之一是不同环境的注册的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
spring.cloud.nacos.discovery.namespace=DEMO_NAMESPACE
## 当要上阿里云时,阿里云上面的一个云账号名
#spring.cloud.nacos.discovery.access-key=xx
## 当要上阿里云时,阿里云上面的一个云账号密码
#spring.cloud.nacos.discovery.secret-key=
## 是否开启Nacos Watch
spring.cloud.nacos.discovery.watch.enabled=true
## 如果您只想订阅,但不想注册您的服务,请将其设置为 false。
spring.cloud.nacos.discovery.register-enabled=true
## Nacos账号
spring.cloud.nacos.username=nacos
## Nacos密码
spring.cloud.nacos.password=nacos123
spring.cloud.nacos.config.enabled=true
spring.cloud.nacos.config.server-addr=81.68.103.201:8848